package com.music.service;

import com.github.pagehelper.PageInfo;
import com.music.entity.ObjVo;
import com.music.entity.User;

import java.util.List;
import java.util.Map;

/**
 * @className: UserService
 * @description:
 * @author: 林鑫海
 * @date: 2022/7/4
 **/
public interface UserService {

    /**
     * 用户注册
     * @param userPhone
     * @param userPassword
     * @return
     */
    boolean registerUser(String userPhone,String userPassword);

    /**
     * 判断手机号是否存在
     * @param userPhone
     * @return
     */
    boolean existOfPhoneNumber(String userPhone);

    /**
     * 登录
     * @param userPhone
     * @param userPassword
     * @return
     */
    User login(String userPhone,String userPassword);

    /**
     * 退出登录
     */
    void logout();

    /**
     * 从session作用域中获取登录信息
     * @return
     */
    User getUserBySession();

    /**
     * 肖泽强
     * 多条件获取user列表
     * @param map 多条件
     * @return 用户列表
     */
    PageInfo<User> getUserByConditions(Map<String,Object> map);

    /**
     * 肖泽强
     * 根据主键修改用户信息
     * user
     * @return
     */
    boolean updateUserByKey(User user);

    /**
     * 根据用户id查询所有
     * @param userId
     * @return
     */
    User findByUserId(String userId);

    List<ObjVo> findUserInformationById(String userId);
}
